Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RWC2013
Search
Kuniaki IGARASHI
November 21, 2013
Technology
2
730
RWC2013
「広がるRubyの学びの場」
RubyWorldConference2013
at 松江 くにびきメッセ
2013.11.21
Kuniaki IGARASHI
November 21, 2013
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
RuboSensei
igaiga
0
140
Shibuya.rb-2023-04-27-igaiga
igaiga
1
420
Ginza Rails27 igaiga
igaiga
9
12k
tork09igaiga
igaiga
2
250
Road to white mages
igaiga
1
590
Road to white mages
igaiga
8
3.7k
dive_into_code_rails_ruby_books
igaiga
0
180
ginza_rails_vol3_igaiga
igaiga
0
4.7k
rgt2016
igaiga
0
120
Other Decks in Technology
See All in Technology
LangSmith入門―トレース/評価/プロンプト管理などを担うLLMアプリ開発プラットフォーム
os1ma
3
400
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
220
生産性向上チームの紹介
cybozuinsideout
PRO
1
880
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
270
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
360
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.5k
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
360
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
820
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
220
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.3k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Code Reviewing Like a Champion
maltzj
514
39k
Facilitating Awesome Meetings
lara
42
5.6k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
GraphQLとの向き合い方2022年版
quramy
32
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Transcript
ͻΖ͕Δ3VCZͷֶͼͷ 8JEFTQSFBE3VCZ-FBSOJOH4QBDF ޒेཛྷ໌,VOJBLJ*("3"4)* 3VCZ8PSME$POGFSFODFTU0DU ! HJUIVCJHBJHB UXJUUFSJHBJHB GBDFCPPLIUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
ޒेཛྷ໌ גࣜձࣾTQJDFMJGF Ұڮେֶඇৗۈߨࢣ HJUIVCJHBJHB UXJUUFSJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
ΤϯδχΞɺσΟϨΫλʔɺ σβΠφʔɺαϙʔτελοϑ ืूத IUUQCJUMZUNJYHPSCZ
͋ͱͰ 3BJMT ʘTQPUMJHIUTʗ ΤϯδχΞɺσΟϨΫλʔɺ σβΠφʔɺαϙʔτελοϑ ืूத
͢͜ͱ 3VCZڭҭʹ͍ͭͯͷܦݧஊ ͍͔ͭ͘ͷ3VCZͷֶͼʹ͍ͭͯͷࣄྫ ڞ௨ͷ՝ɺϙΠϯτ ! ͞ͳ͍͜ͱ ٕज़ͷਂ͍ ͜ͷൃදͰ͢͜ͱɾ͞ͳ͍͜ͱ
࠷ॳʹ࣭Ͱ͢ ͆ 2VFTUJPO
Έͳ͞Μ͕3VCZͱΓ߹ͬͨ ͖͔͚ͬͳΜͰ͔͢ʁ )PXEJEZPV NFFU3VCZ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ3BJMT5FSBLPZB ͦͷଞͷ౦ژͷࣄྫ ,JET3VCZJO50,:0 4UVEFOUTSC 6ϓϩάϥϛϯά͘ΒͿʢ3VCZࡾୋڭࣨʣ ! ౡࠜɺদߐͷࣄྫ
ౡࠜ3VCZ߹॓ ʙ ౡࠜେֶͰͷߨٛ ʙ দߐதֶੜ3VCZڭࣨ 3VCZ+S ৽ֶ͍͠ͼͷ͕ͨ͘͞ΜͰ͖ͨͷ͕ ͜͜ఔͷ3VCZΤίγεςϜͷϗοττϐοΫͷͭ ͦ͜Ͱ3VCZΛ࢝ΊΔਓͨ͘͞Μग़͖ͯ·ͨ͠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW
͏࣭ͭͰ͢ 0OFNPSFRVFTUJPO
Έͳ͞Μ3VCZΛ Ͳ͏ֶͬͯͼ·͔ͨ͠ʁ )PXEJEZPV MFBSO3VCZ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW ͦΕͧΕͷͰͦΕͧΕͷతͱํ๏ ͭͷࣄྫʹ͍ͭͯৄ͓͘͠͠͠·͢
3VCZ3BJMT ඇৗۈߨࢣۀ Ұڮେֶ3VCZߨٛ -FDUVSFJO)JUPUTVCBTIJ6OJW
తɿϓϩάϥϛϯάاըͰ͖ΔਓࡐΛҭͯΔ จܥͷֶՊɺϓϩάϥϛϯάະܦݧऀ͚ ߨٛظؒؒɻબՊɻֶ෦ʙେֶӃ͚ɻ લظ3VCZɺޙظ3BJMTɻ ݄ΑΓࢲ͕ඇৗۈߨࢣͰ୲ ʢߨ࠲ࣗମ͔Βʣ ผ్ɺ-FXJTڭतͷ3BJMTͰͷ8FCΞϓϦߨٛ͋Γ ֶੜͷౡࠜ3VCZ߹॓ͷࢀՃ ୯Ґͱͯ͠ೝఆ
ҰڮେֶχϑςΟגࣜձࣾدෟߨٛ 3VCZߨٛ
ߨٛ࣌ؒɻ࠲ֶɺԋशɻ ֶੜਓ͔Βਓ 1$ֶੜ͕࣋ͪࠐΈ ି͠ग़͋͠Γ 5"ͱਓͰ࣭ରԠɺԋश՝ͷ࠾ 3VCZPS 3BJMT ߨٛํ๏
ࣗ࡞ࢿྉIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ ͨͷ͍͠3VCZୈ൛*4#/ 8FCͷࢿྉ 3VCZ3FGFSFODF.BOVBM υοτΠϯετʔϧ IUNM DTT
IUUQEPUJOTUBMMDPN $PEFDBEFNZIUUQXXXDPEFDBEFNZDPN ڭՊॻ
ࣗ࡞ࢿྉͰ͖Δ͚ͩਤΛଟ͘ɺ͔Γқ͘ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
՝ྫɿίʔυΛࣸܦ࣮ͯ͠ߦ͢Δ ͭ·͖͍ͮ͢Օॴ ΩʔϘʔυΛଧͭ z@d ΤσΟλͰϑΝΠϧΛࢦఆͨ͠ϑΥϧμʹอଘ͢Δ TIFMMͰ࣮ߦ͢Δ ελʔτ࣌ ϲ݄΄ͲͰશһίʔυΛࣸܦ࣮ͯ͠ߦͰ͖ΔΑ͏ʹͳΔ
ߨٛ༰ɹ3VCZฤ 3VCZޠͷੈքɺTIFMMޠͷੈք ࢛ଇԋࢉɺจࣈίʔυɺม ݅அɺ܁Γฦ͠ɺ.FUIPE "SSBZ )BTI 0CKFDU $MBTT *OTUBODF 8JLJQFEJBΞΫηεղੳ
UXJUUFSEBUBͷղੳ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
ߨٛ༰ɹ3BJMTฤ Ұ൪খ͞ͳ3BJMTΞϓϦͭ͘Γ DPOUSPMMFS WJFX TDBGGPMEͰͰ͖ͨͷͷղઆ ϦΫΤετ SPVUFT DPOUSPMMFS WJFX
NPEFM 3BJMTΞϓϦͷಈ͖Λ؍͢Δ $ISPNFͰϦΫΤετΛ؍ɺMPHɺQɺQSZ "DUJWF3FDPSE %# 1BB4 $4" Ͱωοτʹެ։ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
גࣜձࣾχϑςΟͷ1BB4$4" ϒϥβ͔ΒίʔυฤूՄೳ ϩʔΧϧڥෆཁ 3BJMTରԠ IUUQDTBOJGUZDPN
ؒͷՌ ൃද༰ͷྫ ɾUXJUUFSσʔλΛղੳͯ͠ͲͷӺ͕ʹ͗Θ͍ͬͯΔ͔ΛௐΔ ɾਓͰϓϨΠͰ͖ΔγϡʔςΟϯάήʔϜͷ࡞ ɾ&YDFMͱΈ߹Θͤͨμʔπಘܭࢉ ɾFMFBSOJOH8FCΞϓϦ ɾ࠲͍8FCΞϓϦ ɾͷग़ɺͷೖͷ࣌ࠁΛJ1IPOF1VTI௨ IUUQJHBSBTIJLVOJBLJOFUEJBSZIUNM ࠷ޙʹࣗͰ՝Λઃఆͯ͠िͰ࣮ɺൃද
None
ཧղ͕͍͠ͱ͜Ζ TIFMMͷੈքɺ3VCZͷੈքͷཧղ λʔϛφϧʹ3VCZͷίʔυΛॻ͍ͯ͠·͏ จ๏ΑΓΞϧΰϦζϜ͕͍͠
FBDIͷ༻ྫͱͯ͠ɺ< >ͷΛٻΊΔ खͰղ͚ΔͷಘҙUIHTVC UI TU TU )BTIۤख ࢿྉ͕ͳ͍ ϓϩάϥϚʔ͚ͷࢿྉɾຊͨ͘͞Μ͋Δ͕ɺ ϓϩάϥϛϯάΛ࢝ΊΔਓ͚ͨͷ͋·Γͳ͍ ΤϯδχΞ͕ڭ͑Δ ࠷৽ͷ3VCZքͷঢ়گʹ͋Θͤͯڭ͑ΒΕΔ ରͱͳΔֶՊͷઌੜͱೋਓࡾ٭ͩͱ૬ஊͰ͖ͯྑ͍ 5%%ڭҭʹ༗ޮ ؾ͖ͮ ˞େֶߨٛʹ͍ͭͯৄͪ͘͜͠Β͝ࢀর͍ͩ͘͞IUUQTTQFBLFSEFDLDPNJHBJHBLZVTIV
3BJMT(JSMT
ʮΑΓଟ͘ͷঁੑ͕ϓϩάϥϛϯάʹ͠ΈɺΞΠσΞ ΛܗʹͰ͖Δٕज़Λʹ͚ͭΔखॿ͚Λ͢ΔϫʔΫγϣο ϓͱͦͷίϛϡχςΟʯ ! ʹϔϧγϯΩͰ࢝·ΓɺຊͰ݄͔Β ౦ژͰݱࡏ·Ͱճ։࠵ɻ΄͔ɺژɺࡳຈͰɻ দߐ໌͔Βͷ ۚ
Ͱ։࠵ ֤ճͷࢀՃऀਓલޙ 3BJMT(JSMT
3BJMTΛ ͋·Γ ͬͨ͜ͱ͕ͳ͍ํ ϓϩάϥϛϯάΛ ͋·Γ ͬͨ͜ͱ͕ͳ͍ํ ରऀ 8FCσβΠφʔɺσΟϨΫλʔɺଞݴޠͷϓϩάϥϚͳͲ ଟ࠼ͳ৬ۀͷํɺֶੜ͕ࢀՃ
ؒͷ8PSLTIPQ ։ൃڥߏங ࣸਅߘػೳ͖ϛχϒϩάΞϓϦ 1BB4αʔϏεΛར༻ͯ͠ެ։ ༰ 8FCʹࢿྉ ຊޠ༁ ͕ެ։͞Ε͍ͯΔ ˞͜ͷ8PSLTIPQͷࡐͱࢿྉ͔Γқ͍ͷͰ͓קΊ IUUQSBJMTHJSMTKQ
"QQMJDBUJPO 4DSFFOTIPU
None
ҰॹʹࣄΛ͍ͯ͠Δಉ྅ͷϓϩάϥϚ͕ ͍ͬͯΔ͜ͱΛΓ͍ͨ ύʔτφʔͷࣄΛΓ͍ͨ ࣗͰαʔϏεΛ࡞Γ͍ͨ ࢀՃͷಈػ
3BJMT (JSMT .PSF ຖ݄ճ։࠵ ܧଓ
ίϛϡχςΟΛܗͯ͠ܧଓ։࠵ ॳճͷࢀՃऀ͕ίʔνͱͯ͠ࢀՃ Ռ
IUUQCMPHQBQJQVQFQVKJJDPN தଜҮ͞Μ!TPNBMJ IUUQTHJUIVCDPN:BZPJ,BSVUB IUUQXXXGBDFCPPLDPNZBZPJUBLFNVSB (VONB3VCZ,BJHJ !TIPLPMBUFEBZ
3BJMT5FSBLPZB IUUQSBJMTUFSBLPZBJP
ֶੜ͚ͨ3BJMTֶशϫʔΫγϣοϓ ݄ʹ౦ژʹͯୈճɺͦͷޙ݄ʹ։࠵ɻ࣍ճ݄ʹ։࠵ɻ ࢀՃऀʙਓ ֶੜࣾձਓ ɺࢣൣ ίʔν ਓ ݱࡏಛʹߴઐͷֶੜɾଔۀੜΛରʢߴઐΧϯϑΝϨϯείϛϡχςΟͱڞ࠵ʣ ࢀՃऀશࠃ͔Β 3BJMTࣉࢠ
ߴઐߴߍ େʹ͋ͨΔؒͷڭҭػؔ ʙࡀ ߴઐ ใܥͷֶՊ Ͱϓϩάϥϛϯάͷ࣮शΛଟ͘ͷ࣌ؒΛ͔͚ͯऔΓΉ ͔͠͠8FCٕज़ͷߨٛɺ3VCZͷߨٛগͳֶ͍ߍ͕΄ͱΜͲ ࠷ઌͷ8FCٕज़ΛֶͿػձΛͭ͘Γ͍ͨ !
ڭ৬һ͚ͨϫʔΫγϣοϓΛ։࠵͢Δ͜ͱඪ ಠཱߦ๏ਓࠃཱߴઐֶߍػߏڠྗΛ͓ئ͍ ࢣൣͷߍ࿈བྷ 3BJMTࣉࢠͷ։࠵ಈػ
Ͱߦ͏ϫʔΫγϣοϓ ! 3BJMT(JSMTࢿྉ େֶߨٛग़ு൛ (JU)VC1VMM3FRVFTUಓ ίʔυେتར ༰
؆୯ͳ3BJMTΞϓϦΛࢣൣ͕༻ҙ͓ͯ͘͠ ͦ͜ػೳՃ͢ΔܗͰࢀՃऀQVMMSFRVFTU ػೳ Ճئ͍ Λ͢Δ ࢣൣͦΕΛ֬ೝ͠ɺίʔυϨϏϡʔΛ͠ɺϚʔδ͢Δ (JU)VC1VMM3FRVFTUಓ
ૂ͍ ؆୯ͳػೳΛ࣮͠ɺ3BJMTͰͷ։ൃΛ࣮ફ ࢣൣ͕ώϯτΛग़ͨ͠ΓɺҰॹʹ։ൃͨ͠Γ͢Δ 044ߩݙʹॏཁͳٕज़(JUIVCQVMMSFRVFTUΛ࣮ମݧ ා͞Λͳ͘͢ɺ׳ΕΔ
(JU)VC1VMM3FRVFTUಓ $PNNJU-PH ࢣൣ͕ϕʔεʹͳΔ ΞϓϦΛ࡞ ࢀՃऀ͕৽ػೳ࣮ QVMMSFRVFTUΛૹΔ ࢣൣ͕NFSHF ‑PME ‐OFX
ࢀՃऀͷ QVMMSFRVFTU (JU)VC 1VMM3FRVFTU ಓ
(JU)VC 1VMM3FRVFTU ಓ ࢣൣͷରԠ
ίʔυେتར TFSWJDFECZ!TPSB@I
Βͳ͍ॻ͖ํ͕ग़͖ͯͯʢࢣൣʣษڧʹͳΔ ඞཁʹԠͯ͡ϦϑΝϨϯεΛࢀর͢ΔͳͲ ࢣൣαʔϏεͷ੬ऑੑ୳͠ʹۈ͠Έ͕ͪ ηΩϡϦςΟٕज़ʹ͍ͭͯղઆ ίʔυେتར
Ռ ࣗͰ࡞͍͚ͬͯΔͨΊͷجૅྗशಘ ࢣൣͱͷͭͳ͕Γ ࢀՃऀ͔Βࢣൣ 3BJMTࣉࢠɹ·ͱΊ ඪ ઌੜͷڭҭࢧԉ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW ڞ௨ͷ՝
͓קΊͷ3BJMTڥߏஙํ๏ ͪ͜Βͷϖʔδ͕·ͱ·͍͔ͬͯͯΓ͍͢Ͱ͢ɻIUUQSBJMTHJSMTKQJOTUBMM 8JOEPXT3BJMT*OTUBMMFSIUUQSBJMTJOTUBMMFSPSH 8JOͰڥࠩʹΑΔτϥϒϧ΄΅ͳ͍ OBUJWFFYUFOTJPOHFNͷΠϯετʔϧͰҰ෦ࣦഊ͢Δͷ͋Δ .BD3BJMT*OTUBMMFSPSSCFOWIPNFCSFX τϥϒϧ͕ى͖Δͷ.BD͕ଟ͍
࣋ͪࠐΈ࣌ͷঢ়ଶ͕·ͪ·ͪ ! Α͘ى͖Δτϥϒϧ &YFD+43VOUJNF&SSPS 0QFO44-ূ໌ॻظݶΕIUUQRJJUBDPNTBUPDPDPBJUFNTCEBEFFGG τϥϒϧରԠ͜ͷϖʔδʹࣄྫ͕ू·͍ͬͯ·͢ɻIUUQTHJUIVCDPNSBJMTHJSMTKQSBJMTHJSMTKQHJUIVCDPNXJLJ5SPVCMFTIPPUJOH ՝3BJMT։ൃڥߏஙͷ͠͞
τϥϒϧൃੜ࣌ʹରԠͰ͖ΔਓͱҰॹʹڥߏங ! 7JSUVBM.BDIJOF-JOVY 7JSUVBM#PY8JO.BD-JOVYڥͰແྉͰ͑Δ7.ڥ ༻ҙ͕ͨ͠ɺࢲͷߨٛͷֶੜ͋·Γͬͯ͘Εͳ͔ͬͨ 3BJMTΠϯετʔϧࡁ*NBHFΛެ։͍ͯ͠·͢ɻIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
! $4" /JGUZ1BB4 IUUQDTBOJGUZDPN 8FCϒϥβ্͚ͩͰ3BJMTΞϓϦͷ։ൃ͕Մೳ ݱࡏ3BJMTରԠ ڥߏஙͷରԠ
ڞ௨ͷϙΠϯτ
ϙΠϯτɿ ΰʔϧະདྷʹઃఆ
ΰʔϧͲ͔͜ʁ ֶߍͷ߹ ݄ ߨٛ։࢝ ݄ લظमྃ ݄ ޙظमྃ
ֶੜ ݄ ߨٛ։࢝ ݄ લظमྃ ݄ ޙظमྃ ͦͷઌʹ͘͘ଓ͘ະདྷ͕ ࣾձਓ ܧଓ͢Δɺ͍͔ͭࢥ͍ग़ͯ͠Β͏
ΰʔϧະདྷʹઃఆ
ͨͷ͠͞ ࣮ࡍʹಈ͔ͯ͠ޭମݧ ͨͷ͍͠งғؾ ܧଓ͢Δڥ ࣭Ͱ͖Δਓɺ͕ؒͦʹ͍Δ ܧଓ͢Δɺ͍͔ͭࢥ͍ग़ͯ͠Β͏ͨΊʹ
ͨͷ͠͞ɺޭମݧ ఱؾ༧ใ 1VTI௨ ! ࣗͷͨΊͷ ϓϩάϥϛϯά ! 3VCZͰߦఔ ࣌ؒఔͰ࡞Մೳ IUUQTTQFBLFSEFDLDPNJHBJHBJQIPOFQVTIOPUJpDBUJPO
3BJMT(JSMT ը૾ߘ ϛχϒϩάΞϓϦ ! ͷϫʔΫγϣοϓ Ͱ࡞ɺ1BB4Ͱެ։
ܧଓ͢Δڥ GBDFCPPLHSPVQ ࣭ɾ૬ஊ ! ܧଓ։࠵ ! ͭͳ͕Γ ίʔνͱ ࢀՃऀͱ
ϙΠϯτɿ ॴ͕͋Δͱ͍͏͜ͱͷॏཁੑ
ॴ͕͋Δ͜ͱॏཁ ࠷ॳͷͱ͔͔ͬΓ͕Ұ൪͍͠ ڥߏங࣌ͷτϥϒϧ ษڧํ๏ΛΔ
Կ͕Ͱ͖Δͷ͔ΛΔɺମݧ͢Δ ! ʮϓϩάϥϛϯάͱ͍͏ݴ༿ฉ͍ͨ͜ͱ͕͕͋ͬͨɺͲ͜ߦ ͚श͏͜ͱ͕Ͱ͖Δͷ͔͔Βͳ͔ͬͨɻ͔ͩΒ͜ͷߨٛΛΈ ͚ͭͯɺऔΓ͍ͨͱࢥͬͨɻʯ ! ʮϓϩάϥϛϯάʹڵຯ͕͕͋ͬͨɺॳ৺ऀͰͦͷ͖͔͚͕ͬ ͔ͭΊͳ͔ͬͨͷͰɺ͜ͷߨٛΛ͖͔͚ͬʹ͠Α͏ͱࢥͬͨɻʯ डߨֶͨ͠ੜͷ
࣍ͷҰา
ಉ྅ɾؒͱษڧձɺಡॻձɺ͓ձ ͓ۙ͘ͷΠϕϯτɺίϛϡχςΟ IUUQTHJUIVCDPNSVCZOPLBJPGpDJBMXJLJ3FHJPOBM3VCZJTU.FFU6Q ֶͼΛͭͬͯ͘ΈΔ ! ڭࡐɺࢿྉΛ࡞ͯ͠ެ։ ! ӳޠࢿྉͷ༁ 3BJMT(JSMTIUUQTHJUIVCDPNSBJMTHJSMTKQSBJMTHJSMTKQHJUIVCDPN
3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ ڭ͑ͯΈ͍ͨͱࢥͬͨํ࣍ͷҰา
͓ۙ͘ͷΠϕϯτɺίϛϡχςΟ IUUQTHJUIVCDPNSVCZOPLBJPGpDJBMXJLJ3FHJPOBM3VCZJTU.FFU6Q ࢿྉɾຊ େֶߨٛࢿྉ ڥߏங 3VCZ 3BJMT IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
3VCZ ͨͷ͍͠3VCZୈ൛*4#/ ελʔτΞοϓ3VCZ*4#/ 3BJMT 3BJMT(JSMTࢿྉIUUQSBJMTHJSMTKQ 3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ 3BJMT(VJEFTIUUQHVJEFTSVCZPOSBJMTPSH ͜Ε͔Β3VCZΛ࢝ΊΔํ࣍ͷҰา
࠷ޙʹ
ʮΈͳ͞Μ͕3VCZͱΓ߹ͬͨ ͖͔͚ͬͳΜͰ͔͢ʁʯ ͜ͷൃදͷ࠷ॳͷ࣭ ʮΈͳ͞Μ3VCZΛ Ͳ͏ֶͬͯͼ·͔ͨ͠ʁʯ l)PXEJEZPVNFFU3VCZ z l)PXEJEZPVMFBSO3VCZ z
ࣾձਓʹͳΓϓϩάϥϚʹͳͬͨͱ͖ʹɺ ઌഐ͕3VCZͱU%JBSZΛ͔͍ͭͬͯͨɻ ࢲͷ͑ ձࣾ3VCZձٞษڧձͰ ͍ΖΜͳਓʹٕज़Λڭ͑ͯΒͬͨɻ ͦͷ͕࣌ؒͱͯͨͷ͍͠ͷͩͬͨɻ ͔ͩΒͨ͘͞Μͷਓʹ3VCZΛͬͯ΄͍͠ ͦͷͨΊͷॴΛఏڙ͍͖͍ͯͨ͠
ΑΓଟ͘ͷਓ͕ϓϩάϥϛϯάͰࣗͷ Λղܾ͠ɺرΛ͑ΔΑ͏ʹͳ͍ͬͯ͘ ! 3VCZͷͨͷ͠͞Λମݧ͢Δॴ ͖ͬͱ·͢·͢૿͍͑ͯ͘ 3VCZΑΓଟ͘ͷਓͷखʹ
-FXJTڭतɺᖛ࡚͞Μɺ͞ΜɺҰڮେֶͷडߨֶੜͷΈͳ͞Μ χϑςΟגࣜձࣾླ͞Μɺٶ͞Μ ৬ͷΈͳ͞Μ 3BJMT(JSMT 3BJMTࣉࢠͷελοϑɺίʔνɺࢀՃऀͷΈͳ͞Μ ँࣙ5IBOLT -JOL େֶߨٛࢿྉIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ େֶߨٛʹ͍ͭͯৄ͘͠IUUQTTQFBLFSEFDLDPNJHBJHBLZVTIV UXJUUFSJHBJHB
HJUIVCJHBJHB U%JBSZIUUQJHBSBTIJLVOJBLJOFU BCPVUNF
2VFTUJPOʁ ࣭ͨ͠ํ,VOJBLJSCεςοΧʔ͋͛͞͠·͢
͜ͷ1ͷRubyΤίγεςϜͷϗοττϐοΫͷ1ͭ ৽ֶ͍͠ͼͷ͕ͨ͘͞ΜͰ͖ͨ